package com.suning.sawp.intf.dao;

import java.util.List;
import java.util.Set;

import com.suning.sawp.dto.returngoods.OosStatisRtn;
import com.suning.sawp.po.bi.BiStoreOosDetailEntity;
import com.suning.sawp.po.bi.BiStoreOosEntity;

/**
 * 
 * 门店缺货DB处理接口<br> 
 * 〈功能详细描述〉
 *
 * @author 12061818
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public interface BiStoreOosDaoService {
    /**
     * 
     * 功能描述: 查询门店整体缺货统计<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    OosStatisRtn queryStoreGeneralOosStatis(String storeCode);
    
    /**
     * 
     * 功能描述: 查询门店品类整体缺货统计<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<OosStatisRtn> queryStoreCateGeneralOosStatis(String storeCode, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 查询门店热销缺货统计<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    OosStatisRtn queryStoreHotOosStatis(String storeCode);
    
    /**
     * 
     * 功能描述: 查询门店品类热销缺货统计<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<OosStatisRtn> queryStoreCateHotOosStatis(String storeCode, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 查询门店主推缺货统计<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    OosStatisRtn queryStoreMainPushOosStatis(String storeCode);
    
    /**
     * 
     * 功能描述: 查询门店品类主推缺货统计<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<OosStatisRtn> queryStoreCateMainPushOosStatis(String storeCode, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 门店整体缺货品牌列表<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryStoreGeneralOosBrandStatis(String storeCode, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 门店热销缺货品牌列表<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryStoreHotOosBrandStatis(String storeCode, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 门店主推缺货品牌列表<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryStoreMainPushOosBrandStatis(String storeCode, Set<String> cateCodes);

    /**
     * 
     * 功能描述: 查询门店整体缺货统计品类或品牌汇总情况<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @param brandCodes
     * @param sumType
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryStoreOosGeneralCateBrandStatis(String storeCode, Set<String> cateCodes
            , Set<String> brandCodes, String sumType, int startIndex, int limit);
    
    /**
     * 
     * 功能描述: 查询门店热销缺货统计品类或品牌汇总情况<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @param brandCodes
     * @param sumType
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryStoreOosHotCateBrandStatis(String storeCode, Set<String> cateCodes
            , Set<String> brandCodes, String sumType, int startIndex, int limit);
    
    /**
     * 
     * 功能描述: 查询门店主推缺货统计品类或品牌汇总情况<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param cateCodes
     * @param brandCodes
     * @param sumType
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryStoreOosMainPushCateBrandStatis(String storeCode, Set<String> cateCodes
            , Set<String> brandCodes, String sumType, int startIndex, int limit);
    
    /**
     * 
     * 功能描述: 查询整体缺货品牌信息根据9位品牌编码<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param brand9codes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryOosGeneralBrandList(String storeCode, Set<String> brand9codes);
    
    /**
     * 
     * 功能描述: 查询热销缺货品牌信息根据9位品牌编码<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param brand9codes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryOosHotBrandList(String storeCode, Set<String> brand9codes);
    
    /**
     * 
     * 功能描述: 查询主推缺货品牌信息根据9位品牌编码<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param brand9codes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryOosMainpushBrandList(String storeCode, Set<String> brand9codes);
    
    /**
     * 
     * 功能描述: 查询整体缺货品牌信息根据4位品牌编码和品类编码<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param brand9codes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryOosGeneralBrandList(String storeCode, Set<String> brand4Codes, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 查询热销缺货品牌信息根据4位品牌编码和品类编码<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param brand9codes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryOosHotBrandList(String storeCode, Set<String> brand4Codes, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 查询主推缺货品牌信息根据4位品牌编码和品类编码<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param brand9codes
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosEntity> queryOosMainpushBrandList(String storeCode, Set<String> brand4Codes, Set<String> cateCodes);
    
    /**
     * 
     * 功能描述: 查询门店缺货统计明细列表<br>
     * 〈功能详细描述〉
     *
     * @param storeCode
     * @param brand9codes
     * @param cateCodes
     * @param commKeyword
     * @param sortType
     * @param startIndex
     * @param limit
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<BiStoreOosDetailEntity> queryOosDetails(String storeCode, Set<String> brand9codes, Set<String> cateCodes,
            String commKeyword, String sortType, int startIndex, int limit, String queryType);
}
